package com.ft.oa.service.sys;

import com.ft.oa.domain.dto.sys.MenuDto;
import com.ft.oa.domain.sys.SysAuth;

import java.util.List;
import java.util.Set;

/**
 * 权限服务
 */
public interface SysAuthService {

    /**
     * 用户菜单树
     * @return
     */
    List<MenuDto> menuTree();

    /**
     * 用户菜单树
     * @return
     */
    List<MenuDto> menuTreeNew();

    /**
     * 一级菜单列表
     * @return
     */
    List<SysAuth> top();

    /**
     * 编辑权限
     * @param sysAuth
     */
    void edit(SysAuth sysAuth);

    /**
     * 菜单上移
     * @param id
     */
    void menuUp(Integer id);
    /**
     * 菜单下移
     * @param id
     */
    void menuDown(Integer id);

    /**
     * 删除菜单
     * @param id
     */
    void del(Integer id);

    /**
     * 权限树
     * @return
     */
    List<SysAuth> tree();

    /**
     * 角色权限
     * @param uid
     * @return
     */
    List<SysAuth> roleAuths(Set<Integer> uid);
}
